function h = plotPLL(groupTitle, tMeasure, pherr, ph, phGenie, phlocko, phlockp, winLen, fontsize)
    %PLOTPLL 绘制锁相环(PLL)的关键性能指标图形
    %
    % 输入参数:
    %   groupTitle - 图形的总标题
    %   tMeasure - 测量时间向量 (N x 1)
    %   pherr - 鉴相器输出 (N x 1)
    %   ph - 估计的载波相位 (N x 1)
    %   phGenie - 真实的载波相位 (N x 1)
    %   phlocko - 宽锁定指示器 (N x 1), 1表示锁定，0表示未锁定
    %   phlockp - 严锁定指示器 (N x 1), 1表示锁定，0表示未锁定
    %   winLen - 滑动平均滤波的窗口长度
    %   fontsize - 图形中字体的大小

    % 实际值计算（蒙特卡罗结果+滑动平均滤波）
    % 计算PLL的跟踪误差（估计相位 - 真实相位），并归一化到[-pi/2, pi/2]
    phTrackErr = wrapToHalfPi(ph - phGenie);
    
    % 计算动态应力误差（经验值），即对跟踪误差进行滑动平均滤波
    dsePLLEmp = movmean(phTrackErr, winLen);

    % 创建一个新的图形窗口
    h = figure;

    % --- 子图 1: 锁相环输出相位比较 ---
    subplot(2, 2, 1);
    plot(tMeasure, wrapToHalfPi(ph), ...
         'Color', '#0072BD', 'LineWidth', 1.2, 'DisplayName', '估计相位');
    hold on;
    plot(tMeasure, wrapToHalfPi(phGenie), ...
         'Color', '#D95319', 'LineStyle', '-', 'LineWidth', 1.2, 'DisplayName', '理想相位');
    grid on;
    xlabel('时间 [秒]', 'FontSize', fontsize);
    ylabel('相位 [弧度]', 'FontSize', fontsize);
    legend('FontSize', fontsize, 'Location', 'northeast');
    title('锁相环输出相位', 'FontSize', fontsize);
    hold off;

    % --- 子图 2: 锁相环跟踪误差 ---
    subplot(2, 2, 2);
    plot(tMeasure, phTrackErr, ...
         'Color', '#0072BD', 'LineWidth', 0.8, 'DisplayName', '瞬时跟踪误差');
    hold on;
    plot(tMeasure, dsePLLEmp, ...
         'Color', '#D95319', 'LineWidth', 1.5, 'DisplayName', '动态应力误差 (DSE)');
    grid on;
    xlabel('时间 [秒]', 'FontSize', fontsize);
    ylabel('相位误差 [弧度]', 'FontSize', fontsize);
    legend('FontSize', fontsize, 'Location', 'northeast');
    title('锁相环跟踪误差分析', 'FontSize', fontsize);
    hold off;

    % --- 子图 3: 鉴相器输出 ---
    subplot(2, 2, 3);
    plot(tMeasure, pherr, ...
         'Color', '#0072BD', 'LineWidth', 1.0, 'DisplayName', '鉴相器输出');
    grid on;
    xlabel('时间 [秒]', 'FontSize', fontsize);
    ylabel('相位差 [弧度]', 'FontSize', fontsize);
    legend('FontSize', fontsize, 'Location', 'northeast');
    title('鉴相器输出', 'FontSize', fontsize);

    % --- 子图 4: 入锁情况指示 ---
    subplot(2, 2, 4);
    plot(tMeasure, phlocko, ...
         'Color', '#0072BD', 'LineWidth', 1.2, 'DisplayName', '宽锁定');
    hold on;
    plot(tMeasure, phlockp, ...
         'Color', '#D95319', 'LineStyle', '-', 'LineWidth', 1.2, 'DisplayName', '严锁定');
    ylim([-0.1, 1.1]); % 设置y轴范围，使0和1更清晰
    grid on;
    xlabel('时间 [秒]', 'FontSize', fontsize);
    ylabel('入锁状态 (0 = 未锁, 1 = 锁定)', 'FontSize', fontsize);
    legend('FontSize', fontsize, 'Location', 'northeast');
    title('PLL 入锁状态', 'FontSize', fontsize);
    hold off;

    % 设置图形的总标题
    sgtitle(groupTitle, 'FontSize', fontsize + 2);
    
    % 调整子图间距，避免标签重叠
    set(gcf, 'Position', [100, 100, 1000, 700]); % 设置图形大小
    
end